//----------------------------------------------------------------------------
/** @file Setup.h
    Initial setup information for Board. */
//----------------------------------------------------------------------------

#ifndef SETUP_H
#define SETUP_H

#include "../smartgame/SgBlackWhite.h"
#include "../smartgame/SgBWSet.h"
#include "../smartgame/SgPoint.h"

//----------------------------------------------------------------------------

/** Setup information for start position in GoBoard.
 *  Used for reading an saved game board.
 * */
class Setup
{
public:
	Setup();
	const static bool allowSuicide = false;

	const static bool simpleKoRule = true;

    float komi;

    /** Create empty setup.
        Contains no setup stones. Black is to move. */
    Setup(const Setup& s) {
    	komi = s.komi;
    }

    bool operator==(const Setup& setup) const;

    bool operator!=(const Setup& setup) const;

    void setKomi(float f);
    float getKomi() const;
};

inline Setup::Setup()
{
}

inline void Setup::setKomi(float f) {
	komi = f;
}

inline float Setup::getKomi() const {
	return komi;
}
//----------------------------------------------------------------------------

#endif // GO_SETUP_H

